home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-04 / zbpc_460.zip / UTILITY.EXE / FILES.BAS < prev    next >
BASIC Source File  |  1991-04-04  |  3KB  |  104 lines

  1. DIM 1 Chr_0$ : Chr_0$ = CHR$(0)
  2. DEF FN Mod!(X!, Y!) = FRAC(X! / Y!) * Y!
  3. DEF FN M_D_Y%(MM%, DD%, YY%) = (YY% << 9) + (MM% << 5) + DD%
  4. DEF FN Year%(Date%) = Date% >> 9
  5. DEF FN Month%(Date%) = (Date% >> 5) AND 15
  6. DEF FN Day%(Date%) = Date% AND 31
  7. LONG FN DT$(Date%)
  8. DIM 2 DT_D$, 2 DT_M$, DT_Y$
  9. DT_M$ = RIGHT$( STR$( FN Month%( Date% ) ), 2 )
  10. DT_D$ = RIGHT$( STR$( FN Day%( Date% ) + 100 ), 2 )
  11. DT_Y$ = RIGHT$( STR$( FN Year%( Date% ) + 100 ), 2 )
  12. END FN = DT_M$ + "/" + DT_D$ + "/" + DT_Y$
  13. DIM FileTime%(&64)
  14. DIM FileDate%(&64)
  15. DIM Size_Lo%(&64), Size_Hi%(&64)
  16. DIM 13 FileName$(&64)
  17. DIM 15 WildName$
  18. DIM WildName_Seg%
  19. DIM FileName_Seg%, FileName_Off%
  20. DIM File_Cnt%
  21. WildName_Seg% = MEM STR
  22. FileName_Seg% = MEM ARR FileName$(0)
  23. LONG FN Directory( WildName$ )
  24. DIM Dta_OffSet%
  25. DIM Dta_Seg%
  26. WildName$ = WildName$  + Chr_0$
  27. File_Cnt% = -1
  28. FileName_Off% = 0
  29. FileTime% = VARPTR( FileTime%(0) )
  30. FileDate% = VARPTR( FileDate%(0) )
  31. Size_Lo% = VARPTR( Size_Lo%(0) )
  32. Size_Hi% = VARPTR( Size_Hi%(0) )
  33. MACHLG &06
  34. MACHLG &1E
  35. MACHLG &B4, &2F
  36. MACHLG &CD, &21
  37. MACHLG &8C, &06, Dta_Seg%
  38. MACHLG &89, &1E, Dta_OffSet%
  39. MACHLG &BA, WildName$
  40. MACHLG &42
  41. MACHLG &8E, &1E, WildName_Seg%
  42. MACHLG &B4, &4E
  43. MACHLG &33, &C9
  44. MACHLG &CD, &21
  45. MACHLG &72, &64
  46. MACHLG &89, &E5
  47. MACHLG &8B, &56, &0
  48. MACHLG &8E, &DA
  49. MACHLG &8E, &C2
  50. MACHLG &8B, &36, Dta_OffSet%
  51. MACHLG &83, &C6, &16
  52. MACHLG &8B, &3E, FileTime%
  53. MACHLG &8E, &1E, Dta_Seg%
  54. MACHLG &A5
  55. MACHLG &26, &89, &3E, FileTime%
  56. MACHLG &26, &8B, &3E, FileDate%
  57. MACHLG &A5
  58. MACHLG &26, &89, &3E, FileDate%
  59. MACHLG &26, &8B, &3E, Size_Lo%
  60. MACHLG &A5
  61. MACHLG &26, &89, &3E, Size_Lo%
  62. MACHLG &26, &8B, &3E, Size_Hi%
  63. MACHLG &A5
  64. MACHLG &26, &89, &3E, Size_Hi%
  65. MACHLG &26, &8B, &3E, FileName_Off%
  66. MACHLG &26, &8E, &06, FileName_Seg%
  67. MACHLG &B9, &0D, &0
  68. MACHLG &88, &C8
  69. MACHLG &AA
  70. MACHLG &F3, &A4
  71. MACHLG &8E, &DA
  72. MACHLG &89, &3E, FileName_Off%
  73. MACHLG &B4, &4F
  74. MACHLG &FF, &06, File_Cnt%
  75. MACHLG &83, &3E, File_Cnt%, &64
  76. MACHLG &7C, &96
  77. MACHLG &1F
  78. MACHLG &07
  79. END FN
  80. DEF FN Uns#( Uns_X ) = FIX( Uns_X AND &7FFF ) - FIX( Uns_X AND &8000 )
  81. DEF FN Hour%(Time%) = Time% >> 11
  82. DEF FN Minute%(Time%) = (Time% >> 5) AND 63
  83. DEF FN Second%(Time%) = (Time% AND 31) << 1
  84. "LOOP"
  85. INPUT &14, "Filename to search for: "; WildName$
  86. LONG IF LEN( WildName$ )
  87. FN Directory( WildName$ )
  88. LONG IF File_Cnt% >= 0
  89. FOR I% = 0 TO File_Cnt%
  90. PRINT LEFT$( FileName$(I%), INSTR( 1, FileName$(I%), Chr_0$ ) - 1 );
  91. PRINT TAB(12); USING "######### "; FN Uns#( Size_Hi%(I%) ) * 65536. + FN Uns#( Size_Lo%(I%) );
  92. PRINT FN DT$( FileDate%(I%) + (80 << 9) );
  93. H% = FN Hour%( FileTime%(I%) )
  94. H1% = H% MOD 12
  95. IF H1% = 0 THEN H1% = 12
  96. PRINT USING " ##:##:##"; H1% * 10000. + FN Minute%( FileTime%(I%) ) * 100. + FN Second%( FileTime%(I%) );
  97. IF H% < 12 THEN PRINT " AM" ELSE PRINT " PM"
  98. NEXT I%
  99. END IF
  100. PRINT TAB(10); File_Cnt% + 1; "Files found"
  101. PRINT
  102. GOTO "LOOP"
  103. END IF
  104.